﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SIGERP_Entidades;
using SIGERP_Negocio;

namespace SIGERP_Presentacion
{
    public partial class frmDepartamentoActualizar : Form
    {
        private ErrorProvider ep = new ErrorProvider();
        private Departamento d;

        public frmDepartamentoActualizar()
        {
            InitializeComponent();
        }

        public frmDepartamentoActualizar(Departamento departamento)
        {
            d = departamento;
            InitializeComponent();
            txtId.Text = d.id.ToString();
            txtNombre.Text = d.ToString();
            if (d.habilitado) cmbEstado.SelectedItem = "Habilitado";
            else cmbEstado.SelectedItem = "Deshabilitado";
            List<Area> areas = Areas.buscarAreasHabilitadas();
            foreach (Area a in areas)
            {
                cmbArea.Items.Add(a);
                if(d.area!=null)
                if (a.id == d.area.id) cmbArea.SelectedItem=a;            
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            ep.Clear();

            if (txtNombre.Text.Equals(""))
            {
                ep.SetError(txtNombre, "Este campo es obligatorio");
                txtNombre.Focus();
                return;
            }

            try
            {
                if (((Area)cmbArea.SelectedItem).id <= 0)
                {
                    ep.SetError(cmbArea, "Debe elegir un área.");
                    cmbArea.Focus();
                    return;
                }
            }
            catch 
            {
                ep.SetError(cmbArea, "Debe elegir un área.");
                cmbArea.Focus();
                return;
            }

            actualizarDepartamento();
        }

        private void actualizarDepartamento()
        {
            d.id = Convert.ToInt32(txtId.Text);
            d.descripcion = txtNombre.Text.ToUpper();
            if (cmbEstado.SelectedItem.Equals("Habilitado")) d.habilitado = true;
            else d.habilitado = false;
            d.area = (Area)cmbArea.SelectedItem;
            Departamentos.actualizar(d);
            DialogResult = DialogResult.OK;
            Close();
        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void frmDepartamentoActualizar_Load(object sender, EventArgs e)
        {

        }

    }
}
